package com.example.ui.controller;

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.RuntimeUtil;
import com.example.ui.dto.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.File;

@RestController
@Slf4j
public class TestController {

    private static String status = "stop";

    @GetMapping("/a")
    public Result a() {
        log.info("系统类型：{}", FileUtil.isWindows() ? "windows" : "Linux");
        String cmdStr = "cmd /c test.bat";
        return Result.ok("奥斯都爱撒娇嗲嗲吉萨");
//        if (!FileUtil.isWindows()) {
//            cmdStr = "sh test.sh";
//        }
//        if ("run".equals(status)) {
//            log.warn("bat脚本正在执行...退出");
//            return Result.fail("脚本正在执行");
//        }
//        status = "run";
//        try {
//            Process exec = RuntimeUtil.exec(null, new File("D:\\"), cmdStr);
//            System.out.println("exec.isAlive() = " + exec.isAlive());
//            // 判断进程是否正在执行
//            while (exec.isAlive()) {
//                log.info("bat脚本正在执行...");
//                Thread.sleep(500);
//            }
//            status = "stop";
//            int exitValue = exec.exitValue();
//            log.info("批处理文件执行完成，退出码：" + exitValue);
//            String result = "";
//            if (exitValue == 0) {
//                result = RuntimeUtil.getResult(exec, CharsetUtil.CHARSET_UTF_8);
//            } else {
//                result = RuntimeUtil.getErrorResult(exec, CharsetUtil.CHARSET_GBK);
//            }
//            log.info("result = {}", result);
//        } catch (Exception e) {
//            return Result.fail("异常中止");
//        }
//        return Result.ok();
    }

}
